#include "StdAfx.h"
#include "NAND.h"
#include <iostream>

NAND NAND::cInstance( "NAND");

NAND::NAND(const char* szID )
	: Gate( szID )
{
}

NAND::NAND(void)
{
	notGate = new NOT();
	andGate = new AND();
	andGate->LinkOutputWith(notGate->GetInputForLink());
}


NAND::~NAND(void)
{
	delete andGate;
	delete notGate;
}

void NAND::Calculation()
{
	
}

Input* NAND::GetInputForLink()
{
	return andGate->GetInputForLink();
}

void NAND::LinkOutputWith(Input* input)
{
	notGate->LinkOutputWith(input);
}

Node* NAND::clone()
{
	return new NAND();
}